1. Field of the Invention
The present invention relates to messaging operations for users of wireless communications systems based on voice enabled web applications within a hypertext markup language (HTML) and hypertext transport protocol (HTTP) framework.
2. Description of the Related Art
The evolution of the public switched telephone network has resulted in a variety of voice applications and services that can be provided to individual subscribers and business subscribers. Such services include voice messaging systems that enable landline or wireless subscribers to record, playback, and forward voice mail messages. However, the ability to provide enhanced services to subscribers of the public switched telephone network is directly affected by the limitations of the public switched telephone network. In particular, the public switched telephone network operates according to a protocol that is specifically designed for the transport of voice signals; hence any modifications necessary to provide enhanced services can only be done by switch vendors that have sufficient know-how of the existing public switched telephone network infrastructure.
An open standards-based Internet protocol (IP) network, such as the World Wide Web, the Internet, or a corporate intranet, provides client-server type application services for clients by enabling the clients to request application services from remote servers using standardized protocols, for example hypertext transport protocol (HTTP). The web server application environment can include web server software, such as Apache, implemented on a computer system attached to the IP network. Web-based applications are composed of HTML pages, logic, and database functions. In addition, the web server may provide logging and monitoring capabilities.
In contrast to the public switched telephone network, the open standards-based IP network has enabled the proliferation of web based applications written by web application developers using ever increasing web development tools. Hence, the ever increasing popularity of web applications and web development tools provides substantial resources for application developers to develop robust web applications in a relatively short time and an economical manner. However, one important distinction between telephony-based applications and web-based applications is that telephony-based applications are state aware, whereas web-based applications are stateless.
In particular, telephony applications are state aware to ensure that prescribed operations between the telephony application servers and the user telephony devices occur in a prescribed sequence. For example, operations such as call processing operations, voicemail operations, call forwarding, etc., require that specific actions occur in a specific sequence to enable the multiple components of the public switched telephone network to complete the prescribed operations.
The web-based applications running in the IP network, however, are state-less and transient in nature, and do not maintain application state because application state requires an interactive communication between the browser and back-end database servers accessed by the browsers via a HTTP-based web server. However, an HTTP server provides a synchronous execution of HTML applications, where the web applications in response to reception of a specific request in the form of a URL from a client, instantiate a program configured for execution of the specific request, send an HTML web page back to the client, and terminate the program instance that executed the specific request. Storage of application state information in the form of a xe2x80x9ccookiexe2x80x9d is not practical because some users prefer not to enable cookies on their browser, and because the passing of a large amount of state information as would normally be required for voice-type applications between the browser and the web application would substantially reduce the bandwidth available for the client.
Commonly-assigned, copending application Ser. No. 09/480,485, filed Jan. 11, 2000, entitled Application Server Configured for Dynamically Generating Web Pages for Voice Enabled Web Applications (Attorney Docket 95-409), the disclosure of which is incorporated in its entirety herein by reference, discloses an application server that executes a voice-enabled web application by runtime execution of extensible markup language (XML) documents that define the voice-enabled web application to be executed. The application server includes a runtime environment that establishes an efficient, high-speed connection to a web server. The application server, in response to receiving a user request from a user, accesses a selected XML page that defines at least a part of the voice application to be executed for the user. The XML page may describe any one of a user interface such as dynamic generation of a menu of options or a prompt for a password, an application logic operation, or a function capability such as generating a function call to an external resource. The application server then parses the XML page, and executes the operation described by the XML page, for example dynamically generating an HTML page having voice application control content, or fetching another XML page to continue application processing. In addition, the application server may access an XML page that stores application state information, enabling the application server to be state-aware relative to the user interaction. Hence, the XML page, which can be written using a conventional editor or word processor, defines the application to be executed by the application server within the runtime environment, enabling voice enabled web applications to be generated and executed without the necessity of programming language environments.
Hence, web programmers can write voice-enabled web applications, using the teachings of the above-incorporated application Ser. No. 09/480,485, by writing XML pages that specify respective voice application operations to be performed. The XML documents have a distinct feature of having tags that allow a web browser (or other software) to identify information as being a specific kind or type of information. Hence, the XML documents define the application to be executed by the application server within the runtime environment, enabling voice enabled web applications to be generated and executed without the necessity of programming language environments.
Wireless communications systems have been developed with enhanced functionality, relative to conventional landline networks, based on the unique characteristics of wireless communications. In particular, voice messaging becomes an important part of the wireless service offering due to the transient nature of wireless telephone users and the limited access to the wireless telephone. Wireless telephone users often are unavailable, for example when their wireless telephones are turned off to conserve battery power, when they are on an existing wireless telephone call, when they are roaming within an area where they cannot receive incoming calls, or when they are not within a coverage area. Consequently, voice messaging services are essential for wireless users.
A particular problem with messaging for wireless subscribers is the costs associated with accessing the subscriber""s voice mail system for storage or retrieval of voice mail messages. In particular, telephony based voice mail systems for wireless subscribers of a prescribed home region typically are deployed coresident with the subscribers"" mailbox storage within the home region, requiring the routing of a call to the subscriber""s voice mail system location using telephony network facilities. If a subscriber calling into his or her mailbox is not in his or her voice mail system location, the call needs to be routed over a long distance or international long distance facilities back to the subscriber""s voice mail location. In addition, callers leaving messages for a wireless subscriber that is not accessible are routed over telephony network facilities to the subscriber voice mail system location.
The routing of these calls presents a substantial traffic dilemma for the wireless service provider. Since wireless subscribers pay for incoming calls on some wireless networks, calls that terminate in a mailbox in response to a detected no answer condition or a busy condition results in additional charges for incoming calls. However, the wireless carrier must incur the additional expense of routing these calls over telephony network facilities.
There is a need for an arrangement that enables access to voice messaging systems for wireless subscribers to be terminated locally at the nearest wireless point of presence for a calling party accessing the voice messaging system for storage or retrieval of a message.
There is also a need for an arrangement that enables wireless service providers to avoid the costs associated with routing calls destined for a voice messaging system over telephony network facilities, such as interexchange carrier facilities or international facilities.
These and other needs are attained by the present invention, where an application server, configured for executing a messaging application defined by XML documents, is able to provide messaging services to a calling party for a remote subscriber based on retrieval of subscriber attribute information obtained from a remote information database server (such as LDAP) via an Internet Protocol (IP) network. The application server, upon receiving a voice application operation request having subscriber identifier information from a browser serving the calling party, obtains from the remote information database server attribute information for responding to the voice application operation request based on the subscriber identifier information. For example the subscriber identifier information may include a dialed number identification string (DNIS) in the case of a message storage operation for a calling party attempting to reach the subscriber; alternately, the subscriber identifier information may include a subscriber number and password in the case of a roaming subscriber accessing his or her message mailbox. The application server generates an HTML document having media content and control tags for personalized execution of the voice application operation based on the attribute information obtained from the standardized database server. The application server also is configured for sending and retrieving messages from a standardized remote messaging server (such as IMAP) via the IP network based on a destination address specified in the subscriber attribute information. The access of the remote information database server and the standardized remote messaging server via the IP network enables the application server to provide portable application services for roaming subscribers or calling parties. Hence, application infrastructure can be shared among multiple servers to provide portable application servers, eliminating the necessity of routing telephone calls across interexchange carrier facilities or international facilities.
One aspect of the present invention provides a method in an application server for executing a messaging application. The method includes receiving a first HTTP request, from a proxy browser serving a user, for execution of a prescribed messaging application operation related to a specified remote subscriber. Subscriber attribute information is obtained for the specified remote subscriber from an Internet Protocol (IP) based database server configured for storing subscriber attributes for local subscribers and retrieving the subscriber attributes for remote subscribers from remote IP based database servers. A Web page is generated, for execution of the prescribed messaging application operation and having media content and control tags, based on the first HTTP request and the obtained subscriber attribute information. The method also includes accessing via an IP network an IP-based messaging server for at least one of retrieval and storage of subscriber messaging information for the specified remote subscriber, based on a prescribed messaging address retrieved from the obtained subscriber attribute information and a second HTTP request received from the proxy browser and having a reference to the prescribed messaging application operation. Hence, the application server is configured for obtaining via the IP network subscriber attributes and subscriber messaging information, even for remote subscribers having information stored on remote servers. Hence, the application server can provide portable application services for mobile subscribers having devices lacking browser capabilities, eliminating the necessity that a mobile subscriber needs a browser to directly access a given server at the prescribed location.
Another aspect of the present invention provides a method in a wireless communications system of storing a message for a wireless subscriber. The method includes terminating by a mobile switching center an incoming wireless telephone call from a wireless user to a proxy device configured for generating HTTP requests and playback of media content based on selective execution of tagged information within Web pages. The method also includes initiating by the proxy device a messaging application session, related to the wireless subscriber, between the wireless user and an application server configured for generating the Web pages based on the respective HTTP requests, at least one oft he HTTP requests specifying the wireless subscriber. The application server obtains subscriber attribute information related to the wireless subscriber from an Internet Protocol (IP) based database server via an IP network, and the proxy device supplies an HTTP request containing a message from the user to the application server. The application server sends the message via the IP network to an IP-based messaging server for storage based on a prescribed messaging address retrieved from the obtained subscriber attribute information. The retrieval of subscriber attribute information by the application server enables the application server to locate the prescribed messaging address for the wireless subscriber in order to send the message via the IP network, eliminating the necessity for telephony network facilities between the mobile switching center and the wireless subscriber""s messaging system. Moreover, the retrieval of subscriber attribute information enables the application server to provide local messaging services for the wireless user via the mobile switching center, with personalized options as specified by the wireless subscriber, for example a personalized prompt.
Still another aspect of the present invention provides a method in a wireless communications system of retrieving a stored message for a roaming wireless subscriber. The method includes terminating by a mobile switching center an incoming wireless telephone call from the roaming wireless subscriber to a proxy device configured for generating HTTP requests and playback of media content based on selective execution of tagged information within Web pages. The method also includes initiating by the proxy device a messaging application session executed by an application server for the roaming wireless subscriber, the application server configured for generating the Web pages based on the respective HTTP requests, at least one of the HTTP requests specifying the wireless subscriber. The application server obtains subscriber attribute information related to the roaming wireless subscriber from an Internet Protocol (IP) based database server via an IP network, and obtains the stored message via the IP network from an IP-based messaging server based on a prescribed address retrieved from the obtained subscriber attribute information. The application server generates a Web page including tags for playback of the stored message to the roaming wireless subscriber by the proxy device. The initiation of a messaging application session with the application server enables the roaming wireless subscriber to access stored messages from remote messaging servers via the IP network, eliminating the necessity of establishing a long distance call between the mobile switching center and the roaming wireless subscriber""s message store using telephony circuits. Hence, voice mail services may be provided for roaming wireless subscribers without reliance on telephony network facilities between the mobile switching center and the roaming wireless subscriber""s message store.
Additional advantages and novel features of the invention will be set forth in part in the description which follows and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The advantages of the present invention may be realized and attained by means of instrumentalities and combinations particularly pointed out in the appended claims.